# Nao ha utilizacao de acentos nesses trechos de codigos.
# importa a biblioteca pygame
import pygame, sys 
# importa funcoes da biblioteca pygame
from pygame.locals import * 
# inicia todas as funcoes da biblioteca pygame
pygame.init() 
# Tamanho da tela,tamanho do submenu e pixels.
screen = pygame.display.set_mode((960, 720), 0, 32)
# Nome do jogo acima da tela.
pygame.display.set_caption("Jogo da velha")

# Na linha 14 a 18 sera onde o pygame importara as imagens do jogo, desde o cenario ate, as imagens temas do jogo.
cenario = pygame.image.load("cenario.png").convert()
x1 = pygame.image.load("x1.png").convert()
x1.set_colorkey((250, 250, 250))
circulo = pygame.image.load("circulo.png").convert()
circulo.set_colorkey((0, 255, 0))
# sombra sera chamado de um submenu, que aparece durante o jogo. ainda em fase de teste.
sombra = pygame.image.load("sombra.png").convert_alpha()

# em font e text, serao as fontes e textos, cores e tamanho do texto que sera utilizado.
# o numero com tres sequencias serao as cores em RGB que o pygame utiliza.
# (255,255,255) e igual a cor branca
font = pygame.font.SysFont("Arial.ttf", 80)
text = font.render("", True, (255, 255, 255))

# primeiro som do jogo # importa o comando do som do jogo. # a variavel som executa # som.play(-1) executa sem parar.
from pygame.mixer import Sound
som = pygame.mixer.Sound("som03.ogg")

som.play(-1)

# casa para cada uso de quadrado, como o pygame utiliza-se do canto extremo esquerdo do x, por isso o valor de negativo.
# ainda em fase de testes, os quadrados estao chocando-se com os simbolos.
# fonte construindo um jogo MMORPG com python.Roberto Faga Jr, Vivian Genaro Motti, Maria da Graca Pimentel
#Mini-Curso: IX ESCOLA REGIONAL DE COMPUTACAO BAHIA-ALAGOAS-SERGIPE).

quadrados = [-1,-1, -1, -1, -1, -1, -1, -1, -1]
pessoa = True
valor1 = False
count = 0

m_x = m_y = -69

# capturar as acoes do mouse, durante o jogo.
# Como a janela do pygame atualiza sempre, usaremos o loop aqui do while.

while 1:
	for ok in pygame.event.get():
		if ok.type == QUIT:
			sys.exit()
# a funcao mouse.get_pos() vai utilizar e fazer mexer com os 3 tipos dos botoes do mouse.		
		if ok.type == MOUSEBUTTONDOWN:
			m_x, m_y = pygame.mouse.get_pos()

# O metodo blit faz uma superficie na outra considerando o ponto de coordenada (0,0) a parte superior esquerda da superficie de parametro.	
	screen.blit(cenario, (0, 0))
# linhas 61,66,71,76,81,86,91,96,101 essas citadas foram reconstruidas a partir de um Mini-Curso e adptadas no nosso jogo, pois nao nao sabiamos como fazer as imagens se sobreporem no cenario, sem fica em cima das linhas do jogo da velha.Nessas Linhas foram atribuidas por a equipe velha doida, os valores para o nosso tabuleiro, porem os ifs dessas linhas citadas os sinais de maior iguai ou menor igual nao sao nossos, nessas 9 linhas.
# fonte construindo um jogo MMORPG com python.Roberto Faga Jr, Vivian Genaro Motti, Maria da Graca Pimentel
#Mini-Curso: IX ESCOLA REGIONAL DE COMPUTACAO BAHIA-ALAGOAS-SERGIPE).
# os quadrados nessas linhas estao definidos com um valor de 0 a 8, pois e a quantidade de casas no tabuleiro, porque nao 9 casas ? porque como o python utiliza o esquerdo extremo da tela, a primeira casa teve valor 0.
	if valor1 == False:
		if((m_x >= 0 and m_x <= 121) and (m_y >= 0 and m_y <= 123)):
			if quadrados[0] == -1:
				quadrados[0] = pessoa
				pessoa = not pessoa
				count += 1
		elif((m_x >= 132 and m_x <= 271) and (m_y >= 0 and m_y <= 123)):
			if quadrados[1] == -1:
				quadrados[1] = pessoa
				pessoa = not pessoa
				count += 1
		elif((m_x >= 282 and m_x <= 400) and (m_y >= 0 and m_y <= 123)):
			if quadrados[2] == -1:
				quadrados[2] = pessoa
				pessoa = not pessoa
				count += 1
		elif((m_x >= 0 and m_x <= 121) and (m_y >= 134 and m_y <= 265)):
			if quadrados[3] == -1:
				quadrados[3] = pessoa
				pessoa = not pessoa
				count += 1
		elif((m_x >= 132 and m_x <= 271) and (m_y >= 134 and m_y <= 265)):
			if quadrados[4] == -1:
				quadrados[4] = pessoa
				pessoa = not pessoa
				count += 1
		elif((m_x >= 282 and m_x <= 400) and (m_y >= 134 and m_y <= 265)):
			if quadrados[5] == -1:
				quadrados[5] = pessoa
				pessoa = not pessoa
				count += 1
		elif((m_x >= 0 and m_x <= 121) and (m_y >= 275 and m_y <= 400)):
			if quadrados[6] == -1:
				quadrados[6] = pessoa
				pessoa = not pessoa
				count += 1
		elif((m_x >= 132 and m_x <= 271) and (m_y >= 275 and m_y <= 400)):
			if quadrados[7] == -1:
				quadrados[7] = pessoa
				pessoa = not pessoa
				count += 1
		elif((m_x >= 282 and m_x <= 400) and (m_y >= 275 and m_y <= 400)):
			if quadrados[8] == -1:
				quadrados[8] = pessoa
				pessoa = not pessoa
				count += 1
# nesssas linhas de codigos a seguir a imagem vai se sobrepor, sobre cada quadrado do tabuleiro. ainda em faze de testes e adptacoes, pois quando clicamos, eles aparecem, depois de um certo tempo. e os numeros aqui sao exatamente em que parte da tela eles serao printados e sobreporao as imagens.		
	for i in range(len(quadrados)):
		if quadrados[i] == 0:
			if i == 0:
				screen.blit(circulo, (0, 0))
			elif i == 1:
				screen.blit(circulo, (132, 0))
			elif i == 2:
				screen.blit(circulo, (282, 0))
			elif i == 3:
				screen.blit(circulo, (0, 134))
			elif i == 4:
				screen.blit(circulo, (132, 134))
			elif i == 5:
				screen.blit(circulo, (282, 134))
			elif i == 6:
				screen.blit(circulo, (0, 275))
			elif i == 7:
				screen.blit(circulo, (132, 275))
			elif i == 8:
				screen.blit(circulo, (282, 275))
					
	pygame.display.update()
